3D Game Engine Architecture: Engineering Real-Time Applications with Wild Magic

3D Game Engine Architecture: Engineering Real-Time Applications with Wild Magic

作者: David H. Eberly
出版社: Morgan Kaufmann
出版在: 2004-12-17
ISBN-13: 9780122290640
ISBN-10: 012229064X
裝訂格式: Hardcover
總頁數: 756 頁





內容描述


Description:

Dave Eberly's 3D Game Engine Design was
the first professional guide to the essential concepts and algorithms of
real-time 3D engines and quickly became a classic of game development. Dave's
new book 3D Game Engine Architecture continues the tradition with a
comprehensive look at the software engineering and programming of 3D engines.
This book is a complete guide to the engineering process, starting with a
walk-through of the graphics pipeline showing how to construct the core
elements of 3D systems, including data structures, the math system, and the
object system. Dave explains how to manage data with scene graphs, how to
build rendering and camera systems, and how to handle level of detail,
terrain, and animation. Advanced rendering effects such as vertex and pixel
shaders are also covered as well as collision detection and physics systems.
The book concludes with a discussion of application design, development tools,
and coding standards for the source code of the new version of the Wild Magic
engine included on the CD-ROM. Wild Magic is a commercial-quality game engine
used by many companies and is a unique resource for the game development
community.
 
Table of
Contents:

About the AuthorPrefaceChapter 1
Introduction1.1 Drawing a Triangle1.2 Drawing a Triangle
Mesh1.3 Drawing a Complicated Scene1.4 Abstraction of
SystemsChapter 2 Core Systems2.1 The Low-Level
System2.1.1 Basic Data Structures2.1.2 Encapsulating Platform-Specific
Concepts2.1.3 Endianness2.1.4 System Time2.1.5 File
Handling2.1.6 Memory Allocation and Deallocation2.2 The Mathematics
System2.2.1 Basic Mathematics Functions2.2.2 Fast Functions2.2.3
Vectors2.2.4 Matrices2.2.5 Quaternions2.2.6 Lines and
Planes2.2.7 Colors2.3 The Object System2.3.1 Run-Time Type
Information2.3.2 Names and Unique Identifiers2.3.3 Sharing and Smart
Pointers2.3.4 Controllers2.3.5 Streaming2.3.6 Cloning2.3.7
String Trees2.3.8 Initialization and TerminationChapter 3 Scene
Graphs and Renderers3.1 The Core Classes3.1.1 Motivation for the
Classes3.1.2 Spatial Hierarchy Design3.1.3 Instancing3.2 Geometric
State3.2.1 Transformations3.2.2 Bounding Volumes3.2.3 The Core
Classes and Geometric Updates3.3 Geometric Types3.3.1 Points3.3.2
Line Segments3.3.3 Triangle Meshes3.3.4 Particles3.4 Render
State3.4.1 Global State3.4.2 Lights3.4.3 Textures3.4.4
Multitexturing3.4.5 Effects3.4.6 The Core Classes and Render State
Updates3.5 Renderers and Cameras3.5.1 Camera Models3.5.2 Basic
Architecture for Rendering3.5.3 Single-Pass Drawing3.5.4 The
DrawPrimitive Function3.5.5 Cached Textures and Vertex Attributes3.5.6
Global Effects and Multipass SupportChapter 4 Advanced Scene Graph
Topics4.1 Level of Detail4.1.1 Billboards4.1.2 Display of
Particles4.1.3 Discrete Level of Detail4.1.4 Continuous Level of
Detail4.1.5 Infinite Level of Detail4.2 Sorting4.2.1 Binary Space
Partitioning Trees4.2.2 Portals4.2.3 Sorting Children of a
Node4.2.4 Deferred Drawing4.3 Curves and Surfaces4.3.1 Parametric
Curves4.3.2 Parametric Surfaces4.3.3 Curve Tessellation by
Subdivision4.3.4 Surface Tessellation by Subdivision4.4
Terrain4.4.1 Data Representations4.4.2 Level of Detail4.4.3
Terrain Pages and Memory Management4.5 Controllers and Animation4.5.1
Keyframe Animation4.5.2 Morphing4.5.3 Points and Particles4.5.4
Skin and Bones4.5.5 Inverse KinematicsChapter 5 Advanced
Rendering Topics5.1 Special Effects Using the Fixed-Function
Pipeline5.1.1 Vertex Coloring5.1.2 Single Textures5.1.3 Dark
Maps5.1.4 Light Maps5.1.5 Gloss Maps5.1.6 Bump Maps5.1.7
Environment Maps5.1.8 Projected Textures5.1.9 Planar Shadows5.1.10
Planar Reflection5.2 Special Effects Using Vertex and Pixel
Shaders5.2.1 Scene Graph Support5.2.2 Renderer Support5.2.3
Automatic Source Code GenerationChapter 6 Collision
Detection6.1 Distance-Based Methods6.1.1 A Plan of Attack6.1.2
Root Finding Using Newton's Method6.1.3 Root Finding Using
Bisection6.1.4 Hybrid Root Finding6.1.5 An Abstract Interface for
Distance Calculations6.2 Intersection-Based Methods6.2.1 An Abstract
Interface for Intersection Queries6.3 Line-Object Intersection6.3.1
Intersections between Linear Components and Triangles6.3.2 Intersections
between Linear Components and Bounding Volumes6.3.3 Picking6.3.4
Staying on Top of Things6.3.5 Staying Out of Things6.4 Object-Object
Intersection6.4.1 Collision Groups6.4.2 Hierarchical Collision
Detection6.4.3 Spatial and Temporal CoherenceChapter 7
Physics7.1 Numerical Methods for Solving Differential
Equations7.1.1 Euler's Method7.1.2 Midpoint Method7.1.3
Runge-Kutta Fourth-Order Method7.1.4 Implicit Equations and Methods7.2
Particle Physics7.3 Mass-Spring Systems7.3.1 Curve Masses7.3.2
Surface Masses7.3.3 Volume Masses7.3.4 Arbitrary Configurations7.4
Deformable Bodies7.5 Rigid Bodies7.5.1 The Rigid Body Class7.5.2
Computing the Inertia TensorChapter 8 Applications8.1
Abstraction of the Application8.1.1 Processing Command Line
Parameters8.1.2 The Application Class8.1.3 The ConsoleApplication
Class8.1.4 TheWindowApplication Class8.1.5 TheWindowApplication3
Class8.2 Sample Applications8.2.1 BillboardNode Sample8.2.2
BspNode Sample8.2.3 CachedArray Sample8.2.4 Castle Sample8.2.5
ClodMesh Sample8.2.6 Collision Sample8.2.7 InverseKinematics
Sample8.2.8 Portals Sample8.2.9 ScreenPolygon Sample8.2.10
SkinnedBiped Sample8.2.11 SortFaces Sample8.2.12 Terrain Sample8.3
Sample Tools8.3.1 3dsToWmof Importer8.3.2 Maya Exporter8.3.3
BmpToWmif Converter8.3.4 WmifToBmp Converter8.3.5 ScenePrinter
Tool8.3.6 SceneTree Tool8.3.7 SceneViewer ToolAppendix A
Coding ConventionsA.1 File Naming and OrganizationA.2 Comment
Preamble and SeparatorsA.3 White SpaceA.3.1 IndentationA.3.2 Blank
LinesA.3.3 Function DeclaratorsA.3.4 Constructor InitializersA.3.5
Function CallsA.3.6 ConditionalsA.4 BracesA.5 Pointer TypesA.6
Identifier NamesA.6.1 VariablesA.6.2 Classes and FunctionsA.6.3
EnumerationsA.7 C++ ExceptionsA.8 Header File OrganizationA.8.1
Include Guards and Nested Header FilesA.8.2 Minimizing Compilation
TimeReferencesIndexAbout the
CD-ROM




相關書籍

3ds Max 2016動畫設計啟示錄

作者 黃義淳

2004-12-17

Maya 2020從新手到高手

作者 來陽

2004-12-17

Unity 3D 遊戲開發案例教程

作者 彭平 胡垂立

2004-12-17